package com.sunny.fetch.pojo;

import java.util.ArrayList;
import java.util.List;

public class FFutWeeklyDetailExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public FFutWeeklyDetailExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andTidIsNull() {
            addCriterion("tid is null");
            return (Criteria) this;
        }

        public Criteria andTidIsNotNull() {
            addCriterion("tid is not null");
            return (Criteria) this;
        }

        public Criteria andTidEqualTo(Long value) {
            addCriterion("tid =", value, "tid");
            return (Criteria) this;
        }

        public Criteria andTidNotEqualTo(Long value) {
            addCriterion("tid <>", value, "tid");
            return (Criteria) this;
        }

        public Criteria andTidGreaterThan(Long value) {
            addCriterion("tid >", value, "tid");
            return (Criteria) this;
        }

        public Criteria andTidGreaterThanOrEqualTo(Long value) {
            addCriterion("tid >=", value, "tid");
            return (Criteria) this;
        }

        public Criteria andTidLessThan(Long value) {
            addCriterion("tid <", value, "tid");
            return (Criteria) this;
        }

        public Criteria andTidLessThanOrEqualTo(Long value) {
            addCriterion("tid <=", value, "tid");
            return (Criteria) this;
        }

        public Criteria andTidIn(List<Long> values) {
            addCriterion("tid in", values, "tid");
            return (Criteria) this;
        }

        public Criteria andTidNotIn(List<Long> values) {
            addCriterion("tid not in", values, "tid");
            return (Criteria) this;
        }

        public Criteria andTidBetween(Long value1, Long value2) {
            addCriterion("tid between", value1, value2, "tid");
            return (Criteria) this;
        }

        public Criteria andTidNotBetween(Long value1, Long value2) {
            addCriterion("tid not between", value1, value2, "tid");
            return (Criteria) this;
        }

        public Criteria andExchangeIsNull() {
            addCriterion("exchange is null");
            return (Criteria) this;
        }

        public Criteria andExchangeIsNotNull() {
            addCriterion("exchange is not null");
            return (Criteria) this;
        }

        public Criteria andExchangeEqualTo(String value) {
            addCriterion("exchange =", value, "exchange");
            return (Criteria) this;
        }

        public Criteria andExchangeNotEqualTo(String value) {
            addCriterion("exchange <>", value, "exchange");
            return (Criteria) this;
        }

        public Criteria andExchangeGreaterThan(String value) {
            addCriterion("exchange >", value, "exchange");
            return (Criteria) this;
        }

        public Criteria andExchangeGreaterThanOrEqualTo(String value) {
            addCriterion("exchange >=", value, "exchange");
            return (Criteria) this;
        }

        public Criteria andExchangeLessThan(String value) {
            addCriterion("exchange <", value, "exchange");
            return (Criteria) this;
        }

        public Criteria andExchangeLessThanOrEqualTo(String value) {
            addCriterion("exchange <=", value, "exchange");
            return (Criteria) this;
        }

        public Criteria andExchangeLike(String value) {
            addCriterion("exchange like", value, "exchange");
            return (Criteria) this;
        }

        public Criteria andExchangeNotLike(String value) {
            addCriterion("exchange not like", value, "exchange");
            return (Criteria) this;
        }

        public Criteria andExchangeIn(List<String> values) {
            addCriterion("exchange in", values, "exchange");
            return (Criteria) this;
        }

        public Criteria andExchangeNotIn(List<String> values) {
            addCriterion("exchange not in", values, "exchange");
            return (Criteria) this;
        }

        public Criteria andExchangeBetween(String value1, String value2) {
            addCriterion("exchange between", value1, value2, "exchange");
            return (Criteria) this;
        }

        public Criteria andExchangeNotBetween(String value1, String value2) {
            addCriterion("exchange not between", value1, value2, "exchange");
            return (Criteria) this;
        }

        public Criteria andPrdIsNull() {
            addCriterion("prd is null");
            return (Criteria) this;
        }

        public Criteria andPrdIsNotNull() {
            addCriterion("prd is not null");
            return (Criteria) this;
        }

        public Criteria andPrdEqualTo(String value) {
            addCriterion("prd =", value, "prd");
            return (Criteria) this;
        }

        public Criteria andPrdNotEqualTo(String value) {
            addCriterion("prd <>", value, "prd");
            return (Criteria) this;
        }

        public Criteria andPrdGreaterThan(String value) {
            addCriterion("prd >", value, "prd");
            return (Criteria) this;
        }

        public Criteria andPrdGreaterThanOrEqualTo(String value) {
            addCriterion("prd >=", value, "prd");
            return (Criteria) this;
        }

        public Criteria andPrdLessThan(String value) {
            addCriterion("prd <", value, "prd");
            return (Criteria) this;
        }

        public Criteria andPrdLessThanOrEqualTo(String value) {
            addCriterion("prd <=", value, "prd");
            return (Criteria) this;
        }

        public Criteria andPrdLike(String value) {
            addCriterion("prd like", value, "prd");
            return (Criteria) this;
        }

        public Criteria andPrdNotLike(String value) {
            addCriterion("prd not like", value, "prd");
            return (Criteria) this;
        }

        public Criteria andPrdIn(List<String> values) {
            addCriterion("prd in", values, "prd");
            return (Criteria) this;
        }

        public Criteria andPrdNotIn(List<String> values) {
            addCriterion("prd not in", values, "prd");
            return (Criteria) this;
        }

        public Criteria andPrdBetween(String value1, String value2) {
            addCriterion("prd between", value1, value2, "prd");
            return (Criteria) this;
        }

        public Criteria andPrdNotBetween(String value1, String value2) {
            addCriterion("prd not between", value1, value2, "prd");
            return (Criteria) this;
        }

        public Criteria andNameIsNull() {
            addCriterion("name is null");
            return (Criteria) this;
        }

        public Criteria andNameIsNotNull() {
            addCriterion("name is not null");
            return (Criteria) this;
        }

        public Criteria andNameEqualTo(String value) {
            addCriterion("name =", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotEqualTo(String value) {
            addCriterion("name <>", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameGreaterThan(String value) {
            addCriterion("name >", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameGreaterThanOrEqualTo(String value) {
            addCriterion("name >=", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLessThan(String value) {
            addCriterion("name <", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLessThanOrEqualTo(String value) {
            addCriterion("name <=", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLike(String value) {
            addCriterion("name like", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotLike(String value) {
            addCriterion("name not like", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameIn(List<String> values) {
            addCriterion("name in", values, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotIn(List<String> values) {
            addCriterion("name not in", values, "name");
            return (Criteria) this;
        }

        public Criteria andNameBetween(String value1, String value2) {
            addCriterion("name between", value1, value2, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotBetween(String value1, String value2) {
            addCriterion("name not between", value1, value2, "name");
            return (Criteria) this;
        }

        public Criteria andVolIsNull() {
            addCriterion("vol is null");
            return (Criteria) this;
        }

        public Criteria andVolIsNotNull() {
            addCriterion("vol is not null");
            return (Criteria) this;
        }

        public Criteria andVolEqualTo(Integer value) {
            addCriterion("vol =", value, "vol");
            return (Criteria) this;
        }

        public Criteria andVolNotEqualTo(Integer value) {
            addCriterion("vol <>", value, "vol");
            return (Criteria) this;
        }

        public Criteria andVolGreaterThan(Integer value) {
            addCriterion("vol >", value, "vol");
            return (Criteria) this;
        }

        public Criteria andVolGreaterThanOrEqualTo(Integer value) {
            addCriterion("vol >=", value, "vol");
            return (Criteria) this;
        }

        public Criteria andVolLessThan(Integer value) {
            addCriterion("vol <", value, "vol");
            return (Criteria) this;
        }

        public Criteria andVolLessThanOrEqualTo(Integer value) {
            addCriterion("vol <=", value, "vol");
            return (Criteria) this;
        }

        public Criteria andVolIn(List<Integer> values) {
            addCriterion("vol in", values, "vol");
            return (Criteria) this;
        }

        public Criteria andVolNotIn(List<Integer> values) {
            addCriterion("vol not in", values, "vol");
            return (Criteria) this;
        }

        public Criteria andVolBetween(Integer value1, Integer value2) {
            addCriterion("vol between", value1, value2, "vol");
            return (Criteria) this;
        }

        public Criteria andVolNotBetween(Integer value1, Integer value2) {
            addCriterion("vol not between", value1, value2, "vol");
            return (Criteria) this;
        }

        public Criteria andVolYoyIsNull() {
            addCriterion("vol_yoy is null");
            return (Criteria) this;
        }

        public Criteria andVolYoyIsNotNull() {
            addCriterion("vol_yoy is not null");
            return (Criteria) this;
        }

        public Criteria andVolYoyEqualTo(Float value) {
            addCriterion("vol_yoy =", value, "volYoy");
            return (Criteria) this;
        }

        public Criteria andVolYoyNotEqualTo(Float value) {
            addCriterion("vol_yoy <>", value, "volYoy");
            return (Criteria) this;
        }

        public Criteria andVolYoyGreaterThan(Float value) {
            addCriterion("vol_yoy >", value, "volYoy");
            return (Criteria) this;
        }

        public Criteria andVolYoyGreaterThanOrEqualTo(Float value) {
            addCriterion("vol_yoy >=", value, "volYoy");
            return (Criteria) this;
        }

        public Criteria andVolYoyLessThan(Float value) {
            addCriterion("vol_yoy <", value, "volYoy");
            return (Criteria) this;
        }

        public Criteria andVolYoyLessThanOrEqualTo(Float value) {
            addCriterion("vol_yoy <=", value, "volYoy");
            return (Criteria) this;
        }

        public Criteria andVolYoyIn(List<Float> values) {
            addCriterion("vol_yoy in", values, "volYoy");
            return (Criteria) this;
        }

        public Criteria andVolYoyNotIn(List<Float> values) {
            addCriterion("vol_yoy not in", values, "volYoy");
            return (Criteria) this;
        }

        public Criteria andVolYoyBetween(Float value1, Float value2) {
            addCriterion("vol_yoy between", value1, value2, "volYoy");
            return (Criteria) this;
        }

        public Criteria andVolYoyNotBetween(Float value1, Float value2) {
            addCriterion("vol_yoy not between", value1, value2, "volYoy");
            return (Criteria) this;
        }

        public Criteria andAmountIsNull() {
            addCriterion("amount is null");
            return (Criteria) this;
        }

        public Criteria andAmountIsNotNull() {
            addCriterion("amount is not null");
            return (Criteria) this;
        }

        public Criteria andAmountEqualTo(Float value) {
            addCriterion("amount =", value, "amount");
            return (Criteria) this;
        }

        public Criteria andAmountNotEqualTo(Float value) {
            addCriterion("amount <>", value, "amount");
            return (Criteria) this;
        }

        public Criteria andAmountGreaterThan(Float value) {
            addCriterion("amount >", value, "amount");
            return (Criteria) this;
        }

        public Criteria andAmountGreaterThanOrEqualTo(Float value) {
            addCriterion("amount >=", value, "amount");
            return (Criteria) this;
        }

        public Criteria andAmountLessThan(Float value) {
            addCriterion("amount <", value, "amount");
            return (Criteria) this;
        }

        public Criteria andAmountLessThanOrEqualTo(Float value) {
            addCriterion("amount <=", value, "amount");
            return (Criteria) this;
        }

        public Criteria andAmountIn(List<Float> values) {
            addCriterion("amount in", values, "amount");
            return (Criteria) this;
        }

        public Criteria andAmountNotIn(List<Float> values) {
            addCriterion("amount not in", values, "amount");
            return (Criteria) this;
        }

        public Criteria andAmountBetween(Float value1, Float value2) {
            addCriterion("amount between", value1, value2, "amount");
            return (Criteria) this;
        }

        public Criteria andAmountNotBetween(Float value1, Float value2) {
            addCriterion("amount not between", value1, value2, "amount");
            return (Criteria) this;
        }

        public Criteria andAmoutYoyIsNull() {
            addCriterion("amout_yoy is null");
            return (Criteria) this;
        }

        public Criteria andAmoutYoyIsNotNull() {
            addCriterion("amout_yoy is not null");
            return (Criteria) this;
        }

        public Criteria andAmoutYoyEqualTo(Float value) {
            addCriterion("amout_yoy =", value, "amoutYoy");
            return (Criteria) this;
        }

        public Criteria andAmoutYoyNotEqualTo(Float value) {
            addCriterion("amout_yoy <>", value, "amoutYoy");
            return (Criteria) this;
        }

        public Criteria andAmoutYoyGreaterThan(Float value) {
            addCriterion("amout_yoy >", value, "amoutYoy");
            return (Criteria) this;
        }

        public Criteria andAmoutYoyGreaterThanOrEqualTo(Float value) {
            addCriterion("amout_yoy >=", value, "amoutYoy");
            return (Criteria) this;
        }

        public Criteria andAmoutYoyLessThan(Float value) {
            addCriterion("amout_yoy <", value, "amoutYoy");
            return (Criteria) this;
        }

        public Criteria andAmoutYoyLessThanOrEqualTo(Float value) {
            addCriterion("amout_yoy <=", value, "amoutYoy");
            return (Criteria) this;
        }

        public Criteria andAmoutYoyIn(List<Float> values) {
            addCriterion("amout_yoy in", values, "amoutYoy");
            return (Criteria) this;
        }

        public Criteria andAmoutYoyNotIn(List<Float> values) {
            addCriterion("amout_yoy not in", values, "amoutYoy");
            return (Criteria) this;
        }

        public Criteria andAmoutYoyBetween(Float value1, Float value2) {
            addCriterion("amout_yoy between", value1, value2, "amoutYoy");
            return (Criteria) this;
        }

        public Criteria andAmoutYoyNotBetween(Float value1, Float value2) {
            addCriterion("amout_yoy not between", value1, value2, "amoutYoy");
            return (Criteria) this;
        }

        public Criteria andCumvolIsNull() {
            addCriterion("cumvol is null");
            return (Criteria) this;
        }

        public Criteria andCumvolIsNotNull() {
            addCriterion("cumvol is not null");
            return (Criteria) this;
        }

        public Criteria andCumvolEqualTo(Integer value) {
            addCriterion("cumvol =", value, "cumvol");
            return (Criteria) this;
        }

        public Criteria andCumvolNotEqualTo(Integer value) {
            addCriterion("cumvol <>", value, "cumvol");
            return (Criteria) this;
        }

        public Criteria andCumvolGreaterThan(Integer value) {
            addCriterion("cumvol >", value, "cumvol");
            return (Criteria) this;
        }

        public Criteria andCumvolGreaterThanOrEqualTo(Integer value) {
            addCriterion("cumvol >=", value, "cumvol");
            return (Criteria) this;
        }

        public Criteria andCumvolLessThan(Integer value) {
            addCriterion("cumvol <", value, "cumvol");
            return (Criteria) this;
        }

        public Criteria andCumvolLessThanOrEqualTo(Integer value) {
            addCriterion("cumvol <=", value, "cumvol");
            return (Criteria) this;
        }

        public Criteria andCumvolIn(List<Integer> values) {
            addCriterion("cumvol in", values, "cumvol");
            return (Criteria) this;
        }

        public Criteria andCumvolNotIn(List<Integer> values) {
            addCriterion("cumvol not in", values, "cumvol");
            return (Criteria) this;
        }

        public Criteria andCumvolBetween(Integer value1, Integer value2) {
            addCriterion("cumvol between", value1, value2, "cumvol");
            return (Criteria) this;
        }

        public Criteria andCumvolNotBetween(Integer value1, Integer value2) {
            addCriterion("cumvol not between", value1, value2, "cumvol");
            return (Criteria) this;
        }

        public Criteria andCumvolYoyIsNull() {
            addCriterion("cumvol_yoy is null");
            return (Criteria) this;
        }

        public Criteria andCumvolYoyIsNotNull() {
            addCriterion("cumvol_yoy is not null");
            return (Criteria) this;
        }

        public Criteria andCumvolYoyEqualTo(Float value) {
            addCriterion("cumvol_yoy =", value, "cumvolYoy");
            return (Criteria) this;
        }

        public Criteria andCumvolYoyNotEqualTo(Float value) {
            addCriterion("cumvol_yoy <>", value, "cumvolYoy");
            return (Criteria) this;
        }

        public Criteria andCumvolYoyGreaterThan(Float value) {
            addCriterion("cumvol_yoy >", value, "cumvolYoy");
            return (Criteria) this;
        }

        public Criteria andCumvolYoyGreaterThanOrEqualTo(Float value) {
            addCriterion("cumvol_yoy >=", value, "cumvolYoy");
            return (Criteria) this;
        }

        public Criteria andCumvolYoyLessThan(Float value) {
            addCriterion("cumvol_yoy <", value, "cumvolYoy");
            return (Criteria) this;
        }

        public Criteria andCumvolYoyLessThanOrEqualTo(Float value) {
            addCriterion("cumvol_yoy <=", value, "cumvolYoy");
            return (Criteria) this;
        }

        public Criteria andCumvolYoyIn(List<Float> values) {
            addCriterion("cumvol_yoy in", values, "cumvolYoy");
            return (Criteria) this;
        }

        public Criteria andCumvolYoyNotIn(List<Float> values) {
            addCriterion("cumvol_yoy not in", values, "cumvolYoy");
            return (Criteria) this;
        }

        public Criteria andCumvolYoyBetween(Float value1, Float value2) {
            addCriterion("cumvol_yoy between", value1, value2, "cumvolYoy");
            return (Criteria) this;
        }

        public Criteria andCumvolYoyNotBetween(Float value1, Float value2) {
            addCriterion("cumvol_yoy not between", value1, value2, "cumvolYoy");
            return (Criteria) this;
        }

        public Criteria andCumamtIsNull() {
            addCriterion("cumamt is null");
            return (Criteria) this;
        }

        public Criteria andCumamtIsNotNull() {
            addCriterion("cumamt is not null");
            return (Criteria) this;
        }

        public Criteria andCumamtEqualTo(Float value) {
            addCriterion("cumamt =", value, "cumamt");
            return (Criteria) this;
        }

        public Criteria andCumamtNotEqualTo(Float value) {
            addCriterion("cumamt <>", value, "cumamt");
            return (Criteria) this;
        }

        public Criteria andCumamtGreaterThan(Float value) {
            addCriterion("cumamt >", value, "cumamt");
            return (Criteria) this;
        }

        public Criteria andCumamtGreaterThanOrEqualTo(Float value) {
            addCriterion("cumamt >=", value, "cumamt");
            return (Criteria) this;
        }

        public Criteria andCumamtLessThan(Float value) {
            addCriterion("cumamt <", value, "cumamt");
            return (Criteria) this;
        }

        public Criteria andCumamtLessThanOrEqualTo(Float value) {
            addCriterion("cumamt <=", value, "cumamt");
            return (Criteria) this;
        }

        public Criteria andCumamtIn(List<Float> values) {
            addCriterion("cumamt in", values, "cumamt");
            return (Criteria) this;
        }

        public Criteria andCumamtNotIn(List<Float> values) {
            addCriterion("cumamt not in", values, "cumamt");
            return (Criteria) this;
        }

        public Criteria andCumamtBetween(Float value1, Float value2) {
            addCriterion("cumamt between", value1, value2, "cumamt");
            return (Criteria) this;
        }

        public Criteria andCumamtNotBetween(Float value1, Float value2) {
            addCriterion("cumamt not between", value1, value2, "cumamt");
            return (Criteria) this;
        }

        public Criteria andCumamtYoyIsNull() {
            addCriterion("cumamt_yoy is null");
            return (Criteria) this;
        }

        public Criteria andCumamtYoyIsNotNull() {
            addCriterion("cumamt_yoy is not null");
            return (Criteria) this;
        }

        public Criteria andCumamtYoyEqualTo(Float value) {
            addCriterion("cumamt_yoy =", value, "cumamtYoy");
            return (Criteria) this;
        }

        public Criteria andCumamtYoyNotEqualTo(Float value) {
            addCriterion("cumamt_yoy <>", value, "cumamtYoy");
            return (Criteria) this;
        }

        public Criteria andCumamtYoyGreaterThan(Float value) {
            addCriterion("cumamt_yoy >", value, "cumamtYoy");
            return (Criteria) this;
        }

        public Criteria andCumamtYoyGreaterThanOrEqualTo(Float value) {
            addCriterion("cumamt_yoy >=", value, "cumamtYoy");
            return (Criteria) this;
        }

        public Criteria andCumamtYoyLessThan(Float value) {
            addCriterion("cumamt_yoy <", value, "cumamtYoy");
            return (Criteria) this;
        }

        public Criteria andCumamtYoyLessThanOrEqualTo(Float value) {
            addCriterion("cumamt_yoy <=", value, "cumamtYoy");
            return (Criteria) this;
        }

        public Criteria andCumamtYoyIn(List<Float> values) {
            addCriterion("cumamt_yoy in", values, "cumamtYoy");
            return (Criteria) this;
        }

        public Criteria andCumamtYoyNotIn(List<Float> values) {
            addCriterion("cumamt_yoy not in", values, "cumamtYoy");
            return (Criteria) this;
        }

        public Criteria andCumamtYoyBetween(Float value1, Float value2) {
            addCriterion("cumamt_yoy between", value1, value2, "cumamtYoy");
            return (Criteria) this;
        }

        public Criteria andCumamtYoyNotBetween(Float value1, Float value2) {
            addCriterion("cumamt_yoy not between", value1, value2, "cumamtYoy");
            return (Criteria) this;
        }

        public Criteria andOpenInterestIsNull() {
            addCriterion("open_interest is null");
            return (Criteria) this;
        }

        public Criteria andOpenInterestIsNotNull() {
            addCriterion("open_interest is not null");
            return (Criteria) this;
        }

        public Criteria andOpenInterestEqualTo(Integer value) {
            addCriterion("open_interest =", value, "openInterest");
            return (Criteria) this;
        }

        public Criteria andOpenInterestNotEqualTo(Integer value) {
            addCriterion("open_interest <>", value, "openInterest");
            return (Criteria) this;
        }

        public Criteria andOpenInterestGreaterThan(Integer value) {
            addCriterion("open_interest >", value, "openInterest");
            return (Criteria) this;
        }

        public Criteria andOpenInterestGreaterThanOrEqualTo(Integer value) {
            addCriterion("open_interest >=", value, "openInterest");
            return (Criteria) this;
        }

        public Criteria andOpenInterestLessThan(Integer value) {
            addCriterion("open_interest <", value, "openInterest");
            return (Criteria) this;
        }

        public Criteria andOpenInterestLessThanOrEqualTo(Integer value) {
            addCriterion("open_interest <=", value, "openInterest");
            return (Criteria) this;
        }

        public Criteria andOpenInterestIn(List<Integer> values) {
            addCriterion("open_interest in", values, "openInterest");
            return (Criteria) this;
        }

        public Criteria andOpenInterestNotIn(List<Integer> values) {
            addCriterion("open_interest not in", values, "openInterest");
            return (Criteria) this;
        }

        public Criteria andOpenInterestBetween(Integer value1, Integer value2) {
            addCriterion("open_interest between", value1, value2, "openInterest");
            return (Criteria) this;
        }

        public Criteria andOpenInterestNotBetween(Integer value1, Integer value2) {
            addCriterion("open_interest not between", value1, value2, "openInterest");
            return (Criteria) this;
        }

        public Criteria andInterestWowIsNull() {
            addCriterion("interest_wow is null");
            return (Criteria) this;
        }

        public Criteria andInterestWowIsNotNull() {
            addCriterion("interest_wow is not null");
            return (Criteria) this;
        }

        public Criteria andInterestWowEqualTo(Float value) {
            addCriterion("interest_wow =", value, "interestWow");
            return (Criteria) this;
        }

        public Criteria andInterestWowNotEqualTo(Float value) {
            addCriterion("interest_wow <>", value, "interestWow");
            return (Criteria) this;
        }

        public Criteria andInterestWowGreaterThan(Float value) {
            addCriterion("interest_wow >", value, "interestWow");
            return (Criteria) this;
        }

        public Criteria andInterestWowGreaterThanOrEqualTo(Float value) {
            addCriterion("interest_wow >=", value, "interestWow");
            return (Criteria) this;
        }

        public Criteria andInterestWowLessThan(Float value) {
            addCriterion("interest_wow <", value, "interestWow");
            return (Criteria) this;
        }

        public Criteria andInterestWowLessThanOrEqualTo(Float value) {
            addCriterion("interest_wow <=", value, "interestWow");
            return (Criteria) this;
        }

        public Criteria andInterestWowIn(List<Float> values) {
            addCriterion("interest_wow in", values, "interestWow");
            return (Criteria) this;
        }

        public Criteria andInterestWowNotIn(List<Float> values) {
            addCriterion("interest_wow not in", values, "interestWow");
            return (Criteria) this;
        }

        public Criteria andInterestWowBetween(Float value1, Float value2) {
            addCriterion("interest_wow between", value1, value2, "interestWow");
            return (Criteria) this;
        }

        public Criteria andInterestWowNotBetween(Float value1, Float value2) {
            addCriterion("interest_wow not between", value1, value2, "interestWow");
            return (Criteria) this;
        }

        public Criteria andMcCloseIsNull() {
            addCriterion("mc_close is null");
            return (Criteria) this;
        }

        public Criteria andMcCloseIsNotNull() {
            addCriterion("mc_close is not null");
            return (Criteria) this;
        }

        public Criteria andMcCloseEqualTo(Float value) {
            addCriterion("mc_close =", value, "mcClose");
            return (Criteria) this;
        }

        public Criteria andMcCloseNotEqualTo(Float value) {
            addCriterion("mc_close <>", value, "mcClose");
            return (Criteria) this;
        }

        public Criteria andMcCloseGreaterThan(Float value) {
            addCriterion("mc_close >", value, "mcClose");
            return (Criteria) this;
        }

        public Criteria andMcCloseGreaterThanOrEqualTo(Float value) {
            addCriterion("mc_close >=", value, "mcClose");
            return (Criteria) this;
        }

        public Criteria andMcCloseLessThan(Float value) {
            addCriterion("mc_close <", value, "mcClose");
            return (Criteria) this;
        }

        public Criteria andMcCloseLessThanOrEqualTo(Float value) {
            addCriterion("mc_close <=", value, "mcClose");
            return (Criteria) this;
        }

        public Criteria andMcCloseIn(List<Float> values) {
            addCriterion("mc_close in", values, "mcClose");
            return (Criteria) this;
        }

        public Criteria andMcCloseNotIn(List<Float> values) {
            addCriterion("mc_close not in", values, "mcClose");
            return (Criteria) this;
        }

        public Criteria andMcCloseBetween(Float value1, Float value2) {
            addCriterion("mc_close between", value1, value2, "mcClose");
            return (Criteria) this;
        }

        public Criteria andMcCloseNotBetween(Float value1, Float value2) {
            addCriterion("mc_close not between", value1, value2, "mcClose");
            return (Criteria) this;
        }

        public Criteria andCloseWowIsNull() {
            addCriterion("close_wow is null");
            return (Criteria) this;
        }

        public Criteria andCloseWowIsNotNull() {
            addCriterion("close_wow is not null");
            return (Criteria) this;
        }

        public Criteria andCloseWowEqualTo(Float value) {
            addCriterion("close_wow =", value, "closeWow");
            return (Criteria) this;
        }

        public Criteria andCloseWowNotEqualTo(Float value) {
            addCriterion("close_wow <>", value, "closeWow");
            return (Criteria) this;
        }

        public Criteria andCloseWowGreaterThan(Float value) {
            addCriterion("close_wow >", value, "closeWow");
            return (Criteria) this;
        }

        public Criteria andCloseWowGreaterThanOrEqualTo(Float value) {
            addCriterion("close_wow >=", value, "closeWow");
            return (Criteria) this;
        }

        public Criteria andCloseWowLessThan(Float value) {
            addCriterion("close_wow <", value, "closeWow");
            return (Criteria) this;
        }

        public Criteria andCloseWowLessThanOrEqualTo(Float value) {
            addCriterion("close_wow <=", value, "closeWow");
            return (Criteria) this;
        }

        public Criteria andCloseWowIn(List<Float> values) {
            addCriterion("close_wow in", values, "closeWow");
            return (Criteria) this;
        }

        public Criteria andCloseWowNotIn(List<Float> values) {
            addCriterion("close_wow not in", values, "closeWow");
            return (Criteria) this;
        }

        public Criteria andCloseWowBetween(Float value1, Float value2) {
            addCriterion("close_wow between", value1, value2, "closeWow");
            return (Criteria) this;
        }

        public Criteria andCloseWowNotBetween(Float value1, Float value2) {
            addCriterion("close_wow not between", value1, value2, "closeWow");
            return (Criteria) this;
        }

        public Criteria andWeekIsNull() {
            addCriterion("week is null");
            return (Criteria) this;
        }

        public Criteria andWeekIsNotNull() {
            addCriterion("week is not null");
            return (Criteria) this;
        }

        public Criteria andWeekEqualTo(String value) {
            addCriterion("week =", value, "week");
            return (Criteria) this;
        }

        public Criteria andWeekNotEqualTo(String value) {
            addCriterion("week <>", value, "week");
            return (Criteria) this;
        }

        public Criteria andWeekGreaterThan(String value) {
            addCriterion("week >", value, "week");
            return (Criteria) this;
        }

        public Criteria andWeekGreaterThanOrEqualTo(String value) {
            addCriterion("week >=", value, "week");
            return (Criteria) this;
        }

        public Criteria andWeekLessThan(String value) {
            addCriterion("week <", value, "week");
            return (Criteria) this;
        }

        public Criteria andWeekLessThanOrEqualTo(String value) {
            addCriterion("week <=", value, "week");
            return (Criteria) this;
        }

        public Criteria andWeekLike(String value) {
            addCriterion("week like", value, "week");
            return (Criteria) this;
        }

        public Criteria andWeekNotLike(String value) {
            addCriterion("week not like", value, "week");
            return (Criteria) this;
        }

        public Criteria andWeekIn(List<String> values) {
            addCriterion("week in", values, "week");
            return (Criteria) this;
        }

        public Criteria andWeekNotIn(List<String> values) {
            addCriterion("week not in", values, "week");
            return (Criteria) this;
        }

        public Criteria andWeekBetween(String value1, String value2) {
            addCriterion("week between", value1, value2, "week");
            return (Criteria) this;
        }

        public Criteria andWeekNotBetween(String value1, String value2) {
            addCriterion("week not between", value1, value2, "week");
            return (Criteria) this;
        }

        public Criteria andWeekDateIsNull() {
            addCriterion("week_date is null");
            return (Criteria) this;
        }

        public Criteria andWeekDateIsNotNull() {
            addCriterion("week_date is not null");
            return (Criteria) this;
        }

        public Criteria andWeekDateEqualTo(String value) {
            addCriterion("week_date =", value, "weekDate");
            return (Criteria) this;
        }

        public Criteria andWeekDateNotEqualTo(String value) {
            addCriterion("week_date <>", value, "weekDate");
            return (Criteria) this;
        }

        public Criteria andWeekDateGreaterThan(String value) {
            addCriterion("week_date >", value, "weekDate");
            return (Criteria) this;
        }

        public Criteria andWeekDateGreaterThanOrEqualTo(String value) {
            addCriterion("week_date >=", value, "weekDate");
            return (Criteria) this;
        }

        public Criteria andWeekDateLessThan(String value) {
            addCriterion("week_date <", value, "weekDate");
            return (Criteria) this;
        }

        public Criteria andWeekDateLessThanOrEqualTo(String value) {
            addCriterion("week_date <=", value, "weekDate");
            return (Criteria) this;
        }

        public Criteria andWeekDateLike(String value) {
            addCriterion("week_date like", value, "weekDate");
            return (Criteria) this;
        }

        public Criteria andWeekDateNotLike(String value) {
            addCriterion("week_date not like", value, "weekDate");
            return (Criteria) this;
        }

        public Criteria andWeekDateIn(List<String> values) {
            addCriterion("week_date in", values, "weekDate");
            return (Criteria) this;
        }

        public Criteria andWeekDateNotIn(List<String> values) {
            addCriterion("week_date not in", values, "weekDate");
            return (Criteria) this;
        }

        public Criteria andWeekDateBetween(String value1, String value2) {
            addCriterion("week_date between", value1, value2, "weekDate");
            return (Criteria) this;
        }

        public Criteria andWeekDateNotBetween(String value1, String value2) {
            addCriterion("week_date not between", value1, value2, "weekDate");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}